/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002-2006 * Sleepycat Software. All rights reserved. * * $Id: WriteLockInfo.java,v 1.1 2006/05/06 08:59:02 ckaestne Exp $ */ package com.sleepycat.je.txn; import com.sleepycat.je.utilint.DbLsn; /* * Lock and abort LSN kept for each write locked node. Allows us to log with * the correct abort LSN. */ public class WriteLockInfo { /* Write lock for node. */ Lock lock; /* * The original LSN. This is stored in the LN log entry. May be null if * the node was created by this transaction. */ long abortLsn = DbLsn.NULL_LSN; /* * The original setting of the knownDeleted flag. It parallels abortLsn. */ boolean abortKnownDeleted; /* * True if the node has never been locked before. Used so we can determine * when to set abortLsn. */ boolean neverLocked; /* * True if the node was created this transaction. */ boolean createdThisTxn; static final WriteLockInfo basicWriteLockInfo = new WriteLockInfo(); WriteLockInfo(Lock lock) { this.lock = lock; abortLsn = DbLsn.NULL_LSN; abortKnownDeleted = false; neverLocked = true; createdThisTxn = false; } WriteLockInfo() { this.lock = null; abortLsn = DbLsn.NULL_LSN; abortKnownDeleted = true; neverLocked = true; createdThisTxn = false; } public boolean getAbortKnownDeleted() { return abortKnownDeleted; } public long getAbortLsn() { return abortLsn; } }